Criando uma simples lixeira para o usuário [Melhorado]
Publicado por Sandro Marcell 19/07/2007
[ Hits: 4.173 ]
Homepage: http://sanmarcell.wordpress.com
Versão melhorada de um script que cria uma simples lixeira para o usuário.
(Versão Tcl)
Falou!!!
#!/usr/bin/tcl
#
# Criando uma simples lixeira para o usuário.
# (Versão Tcl)
#
# Autor: Sandro Marcell (sandro_marcell@yahoo.com.br)
#
# Uso: nome_script -r arquivo1 [arquivoN]
# ou -e [Para esvaziar a lixeira]
#
# Obs.:
# Arquivos e diretórios são removidos sem pedido de confirmação.
# É possível o uso do metacaractere (*)
# A opção -e remove a lixeira
# Utilizando o script:
proc Uso {argv0} {
puts stderr "Uso: [file tail $argv0] -r arquivo1 \[arquivoN\]
ou -e \[Para esvaziar a lixeira\]"
}
# Checando parâmetros:
if {$argc == 0} {
Uso $argv0
exit
}
# A lixeira:
variable LIXEIRA "~/lixeira"
if {![file exists $LIXEIRA]} {
file mkdir $LIXEIRA
}
# Simples avisos:
variable SUCESSO "Arquivo removido!" ERRO "-> Erro de entrada/saída. "
# Capturando opção:
set OPC [lvarpop argv 0]
# Testando opção capturada:
switch -- $OPC {
-e {
# Checando parâmetros:
if {[llength $argv] >= 1} {
puts stderr "A opção \[-e\] não aceita parâmetros."
exit
} else {
if {[catch {file delete -force $LIXEIRA}] == 0} {
puts stdout "Lixeira limpa!"
exit
} else {
puts stderr $ERRO
exit
}
}
}
-r {
# Início do loop:
foreach A $argv {
# Testes condicionais:
if {![file exists $A]} {
puts stderr "-> Arquivo ou diretório não encotrado."
continue
} elseif {![file owned $A]} {
puts stderr "-> Sem permissão para remover."
continue
}
# Removendo:
if {[catch {file copy -force $A $LIXEIRA}] == 0 &&\
[catch {file delete -force $A}] == 0} {
puts stdout $SUCESSO
} else {
puts stderr $ERRO
}
}
}
default {
Uso $argv0
exit
}
}
# Fim
Simples visualizador de arquivos texto
Convertendo escalas termométricas
Compactando arquivos e diretórios simultâneamente
Nenhum comentário foi encontrado.
A Fundação da Confiança Digital: A Importância Estratégica de uma PKI CA na Segurança de Dados
Como enviar dicas ou artigos para o Viva o Linux
Como Ativar a Aceleração por GPU (ROCm) no Ollama para AMD Navi 10 (RX 5700 XT / 5600) no Gentoo
Cairo Dock ainda funcional nos dias de hoje
Configuração de IP fixo via nmcli e resolução de nomes via /etc/hosts no Gentoo
Removendo o bloqueio por erros de senha no Gentoo (systemd)
Papel de Parede Animado no KDE Plasma 6 (Com dicas para Gentoo)
Homebrew: o gerenciador de pacotes que faltava para o Linux!
Tentando fazer um "linux ricing" mas falhando miseravelmente... (2)
Elilo e Sofrimento no Slackware (3)
Não consigo instalar as bibliotecas em Python pelo terminal. (1)









